/*
 * types.h
 *
 *  Created on: 2009-05-04
 *      Author: kamil
 */

#ifndef TYPES_H_
#define TYPES_H_
#include <map>
#include <string>

#define DEBUG LOG4CXX_DEBUG

//#define null 0

enum TeamName{TEAM_BLUE = 101, TEAM_YELLOW, TEAM_UNDEFINED = 111};

enum GoalId {GOAL_FIRST = 1001, GOAL_SECOND = 1002};

/**
 * Returns opposite Team name
 */
TeamName opposite(TeamName name);

enum Direction{LEFT = 101, RIGHT };

/**
 * Robot function description.
 */
enum RobotFunction {
	FUNCTION_GOALKEEPER = 101,
	FUNCTION_FIELD_PLAYER,
	FUNCTION_ATTACKER,	// field player specification - attacker
	FUNCTION_DEFENDER, 	// field player specification - defender
	FUNCTION_UNDEFINED = 111
};

/**
 * Status describes whether ball is in play - for example if it was already
 * kicker after game stop (kick-off etc.)
 */
enum BallStatus {BALL_IN = 101, BALL_OUT};


#endif /* TYPES_H_ */
